package com.hwadee.ems.service;

import com.hwadee.ems.domain.dto.PageQuery;
import com.hwadee.ems.domain.dto.Result;
import com.hwadee.ems.domain.po.PaperApplication;
import com.hwadee.ems.domain.vo.PaperApplicationVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * <p>
 * 系部试卷提交申请 服务类
 * </p>
 *
 * @author EnosElinsa
 * @since 2024/06/21
 */
public interface IPaperApplicationService extends IService<PaperApplication> {

    Result<Long> saveWithApproval(PaperApplication paperApplication);

    Result<IPage<PaperApplicationVO>> page(
        PageQuery pageQuery, 
        String courseName, 
        String approverName,
        Integer approvalStatus,
        String className
    );

    Result<IPage<PaperApplicationVO>> pageByApplicantId(
        PageQuery pageQuery, 
        Long applicantId, 
        String courseName,
        String approverName, 
        Integer approvalStatus,
        String className
    );

}
